Optimized component selection for project completion

ABSTRACT

A method is provided for determining the best combination of components/supplies/goods matched to a price provided by a supplier of those components/supplies/goods, such that costs are minimizing subject to a given supply function, fixed costs and various considerations that can be factored into a selection criteria More specifically, a Lagrangian function is minimized subject to the supply function and an ensemble of costing formulations are considered subject to weighting factors as applied to a variety of criteria to arrive at an optimized selection of components/supplies/goods.

BACKGROUND

Selection of supplies from a collection of suppliers, given a host of variable considerations, can be a daunting task. Often, as the size of a production project increases, so does the general complexity. Component reliability, component performance, supplier reputation, price, quantity requirements, second and/or third supply source availability, and maintenance support all figure prominently in product and supplier selection. Given constraints based on these factors, a method, system and apparatus are needed in order to ensure that selection of products and suppliers are optimized.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a graph in three dimensions showing a production function optimized at a certain quantity level φ

FIG. 2 illustrates a flowchart which summarizes the methodology of the invention.

FIG. 3 illustrates a diagram of a system capable of implementing the e selection methodology according to the invention.

Applicable reference numbers and symbols have been carried forward.

DETAILED DESCRIPTION

Quantities and prices of components or goods used to complete a project can be expressed as a function of production. For instance, C=p₁x₁+p₂x₂+ . . . p_(n)x_(n), where C represents cost, the subscripted p represents price, and the subscripted x represents inputs, (e.g., components/goods/supplies) for purchase. The foregoing equation is representative of variable costing involved with producing a product. Fixed cost can be represented by A in a general cost formula, e.g. C=p₁x₂+p₂x₂+ . . . p_(n)x_(n)+A. Inputs can be further represented in a column vector x belonging to Euclidian n-space, E^(n), as quantities of a given input. Column vector p can represent prices associated with a given input x, and these prices are assumed to be essentially constant for different quantities of x. The expenditure on input x can be represented by p′x where p′ is the transpose of p. For a given φ(x) of product output, subject to the above general cost function, φ_(i)/∂φ/∂x_(i)>0 for all i=1, . . . ,n inputs and φ_(ij)=φ_(ji) for second partial derivatives with φ_(ii)<0 for all i. In other words, φ(x) is a strictly concave function (bounded from above) due to diminishing returns.

Several constraints must be accounted for in optimizing a purchase of inputs including future product alterations, evolving technology and the fact that certain inputs may become non-procurable when replacement spares are required. Consequently, sourcing of inputs must be considered from several suppliers noting that a given level of product output may constrain obtaining inputs in varying quantities from various suppliers. Pricing formulation inclusive of the sum of the mathematical products of inputs and prices from a particular supplier or from among various suppliers to achieve the sourcing necessary to produce a given level of product output φ(x), can be grouped in sets referenced herein as ensembles. In optimizing the purchase decision for a group of inputs x, k (an integer) ensembles can be considered according to the variable costing given by the following vector products.

(p¹)′x=expenditure to meet requirements using ensemble 1.

(p²)′x=expenditure to meet requirements using ensemble 2.

(p^(k))′x=expenditure to meet requirements using ensemble k.

Note that the superscripted vectors, such as vector (p^(k))′, represent the transpose of vector p from the k^(th) ensemble.

An ensemble can be representative of the sum of the products of prices and inputs from a single supplier or alternatively, an ensemble can be representative of the sum of the products of prices and inputs from more than one (e.g., numerous) supplier.

Fixed costs can be accounted for within ensemble representations as follows:

A₁=Fixed cost for ensemble 1.

A₂=Fixed cost for ensemble 2.

A_(k)=Fixed cost for ensemble k.

Costs A_(i), i=1, . . . k are costs that, in general, are calculated externally from a given project production problem, i.e., these costs are considered to be exogenous.

The total cost or expenditure associated with ensembles i through k can be expressed as follows:

C₁=A₁+(p¹)′x.

C₂=A₂+(p²)′x.

C_(k)=A_(k)+(p^(k))′x.

The problem to be solved involves finding the minimum costing ensemble, given constraints that can be accounted for by appropriate weighting factors, subject to production function φ(x) which determines the level of output to be produced, e.g. 100 cars, 2 ships, 500 television sets, 15 weapons systems, 30 missile systems, 40 tanks, 60 pickup trucks, etc. Therefore, it is necessary to minimize the following cost formula for C_(m):

C_(m)=A_(m)+(p^(m))′x, subject to φ(x)=φ

for each ensemble m=1, . . . k where φ

is a predetermined or given level of product output.

This problem can be transformed from finding a minimum to finding a maximum by negating both sides of the equation, resulting in the following:

−C_(m)=−A_(m)−(p^(m))′x, subject to φ(x)=φ

Forming the Lagrangian function for the forgoing results in

L(x, λ)=−A_(m)−(p^(m))′x+λ[φ(x)−φ

First order conditions for maximization require the following, given n inputs:

∂L/∂λ=φ(x)−φ

=0 and

∂L/∂x=(p^(m))−λ∇_(x)φ(x)=0, where ∇_(x) is the gradient vector with respect to x, and there are m=1, . . . k solutions.

For each ensemble m=1, . . . k, ∂L/∂x can be rewritten as

1) ∂L/∂x₁=p₁ ^(m)−λ∂φ/∂x₁=0

2) ∂L/∂x₂=p₂ ^(m)−λ∂φ/∂x₂=0

n) ∂L/∂x_(n)=p_(n) ^(m)−λ∂φ/∂x_(n)=0

∂L/∂x=(p^(m))−λ∇_(x)φ(x)=0 implies that λ=(p_(i))^(m)/φ_(i) for all i,j=1 . . . ,n components. Consequently, (p_(i))^(m)/φ_(i)=(p_(j))^(m)/φ_(j) or alternatively, (p_(i))^(m)/(p_(j))^(m)=φ_(i)/φ_(j). Further, this also implies that a set of marginal productivities φ_(i)(x) are in the same proportion as the corresponding ratio of item prices (p_(i))^(m) belonging to each ensemble i, (m=1, . . . k). Marginal product φ_(i) is defined as the change in output φ resulting from a unit change in input x_(i). The equations ∂L/∂λ=φ(x)−φ

=0 and ∂L/∂x=(p^(m))−λ∇_(x)φ(x)=0 (i.e., equations 1) through n) above) can be solved for n inputs (x₁, . . . x_(n)) for each ensemble m (m=1, . . . k), resulting in a demand function where,

(x_(i) ^(m))*=(x_(i))^(m)(φ

A_(m), (p₁)^(m), . . . ,(p_(n))^(m)) for i=1, . . . n, inputs. This demand function includes a given product output level φ

fixed cost A_(m) and prices p_(i) for ensemble m=1, . . . k.

In order to ensure a minimum for cost formula C_(m) subject to the constraint φ(x)=φ

the first derivative of the Lagrangian must be equal to zero as prescribed by first order conditions for maximization noted above, while the second differential d²L of the Lagrangian must be positive definite for all dx_(i), i=1, . . . n, not all zero, such that Δx′∇_(x)φ(x)=0. It should be noted that unless the production function is held to a fixed level then (p_(i))^(m)/φ_(i)=λ=∂C_(m)/∂φ=a marginal cost, i.e. a change in cost will result in a unit change in output.

FIG. 1 is a graph in three dimensions that shows a production function optimized at a certain production quantity level φ

illustrative of the foregoing with cost formula C_(m) minimized for a single ensemble m=1 with only two inputs x₁ and x₂ and where φ(x₁, x₂) is a concave function in three-space. Expenditures or cost of the inputs is C₁=A₁+(p₁)¹x₁+(p₂)¹x₂, where A₁ is a fixed cost. As shown in FIG. 1, φ(x₁, x₂) is the shell-like surface above the (x₁, x₂) plane. The cost or expenditure for selected values of C₁ and A₁ are straight lines (p₁)¹x₁+(p₂)¹x₂=C₁−A₁ on that plane. Equal output level contours of φ(x₁, x₂), shown as a map in the (x₁,x₂) plane are determined by projecting downward the intersections of parallel, level planes (corresponding to selected levels of output φ)with the shell surface. The given output level φ

is shown as a particular point on the surface. The dashed line projected from φ

down to the (x₁,x₂) plane necessarily intersects the contour corresponding to that output level, i.e. the φ

contour. The tangent point of one of the cost lines with the φ

contour determines the optimum values of x1 and x2 that meet the requirements for minimum C₁. Minimum C₁ is denoted by C₁* at x₁* and x₂*.

Prices p₁ ¹ and p₂ ¹ are fixed for ensemble m=1, so that a series of values for C1−A1, yields a set of cost or expenditure lines for each of the selected values shown as parallel lines on the (x₁,x₂) plane in FIG. 1. Lower costs can be observed nearer the origin. The slopes of the straight lines shown are readily determined by forming the first derivative of the cost function. The result is (p₁)¹dx₁+(p₂)¹dx₂=0, from which the slope dx₂/dx₁=−(p₁)¹/(p₂)¹ for any cost line. The optimum solution point occurs where the slope of the φ

contour equals the slope −(p₁)¹/(p₂)¹ of the cost lines. In order to find the slope of the φ

contour, let φ(x₁, x₂)=φ

and take the first derivative of this expression to get φ₁dx₁+φ₂dx₂=0. Next, solve for the slope dx₂/dx₁=−φ₁/φ₂ of the contour. The optimum solution occurs where (p₁)¹/(p₂)¹=φ₁/φ₂.

Optimized selection of an ensemble from among a plurality of ensembles must be accomplished with regard to minimized costs while accounting for other facts and circumstances. For instance, a decision involving input selection should also consider the technical performance of the inputs (e.g., the components/goods/supplies). Technical performance factors can include performance considerations of an input provided by a particular supplier of said input, input quality, input features, etc. Additionally, the reliability and maintainability (known together as supportability) of input factors should be included in the selection process. Numerous other criteria can be considered as well. Assigning a percentage weight to each factor in relation to points, cost, etc. allows a variety of considerations to be accounted for in an optimization selection.

A utility table as shown below, in Table 1, can be constructed in order to rank ensembles according to various criteria considerations. For instance, a decision can be weighted for major criteria and sub criteria considerations. As shown in Table 1, technical performance points are given an overall major criteria weight of 35%. Management (Schedule, Risks) points account for a major criteria weight of 30%. Management points can account for various risk factors according to subcategories relating to scheduling and risk assumption such as supplier reliability, second source availability, service options, etc. Within each major criterion, the factors under consideration must account for a combined total of 100% of the allocation accorded the major criteria Consequently, as shown in Table 1, subcategories 1 through 4 must account for 100% of the 30% weight accorded the major criteria weight of 30% for management (schedule, risk) points. As shown, subcategory 1 is accorded 10%, subcategory 2 is accorded 15%, subcategory 3 is accorded 50%, and subcategory 4 is accorded 25%. Technical performance points can account for a variety of technical performance considerations designated KPP1 through KPP4 in FIG. 1. The technical performance point subcategories must account for 100% of the technical performance point allocation. Consequently, in Table 1, subcategories KPP1 through KPP4 must account for 100% of the 35% technical performance point allocation As shown, of the 35% technical performance points allocation, KPP 1 is accorded 20%, KPP2 is accorded 15%, KPP3 is accorded 40% and KPP4 is accorded 25%. The ranking among ensemble considerations are also accorded a major criteria weight. In Table 1, ensembles 1 through k (i.e. for Ensembles m=1, . . . ,k) are given a 35% weight. The major criteria weights must total 100% overall. This occurs within Table 1 since the 35% weight accorded the ensembles, the 30% weight accorded management points and the 35% accorded technical performance points total 100%.

Total Ownership Cost (TOC) is one of the major criteria that must be considered in achieving customer satisfaction. TOC has four major cost subcategories: Development, Procurement/Production, Operations and Support, and Disposal costs. These subcategories are usually estimated separately and only the total amount (TOC) receives a criterion weight. The reason TOC is an important consideration is the simple fact that a good technical design with lowest production costs, though certainly desirable, must also be supportable as well. Otherwise the design will almost certainly lead to one of high operating costs. Thus in considering costs, production cost alone is not sufficient to help ensure customer satisfaction. Over time, operating and support costs are normally greater than acquisition cost and so must weigh into the selection decision process.

A utility score (i.e., U score) is calculated for each major criteria. For instance, in Table 1 the U score for technical performance points can be determined from an integer score spread between 0 and 10, inclusive. Integer points are assigned for each technical performance category associated with a particular ensemble. As shown in Table 1, KPP1 is assigned a point total of 8 in ensemble 1 and a point total of 7 in ensemble k. The high score is designated the lowest upper bound (LUB) while the low score is designated the greatest lower bound (GLB). LUB is further abbreviated as H as GLB is abbreviated as L. The GLB and LUB are subjective determinations although in certain cases they can be arrived at through quantitative methods, but care must be observed to avoid introducing a bias in the selection process. A weighted total is calculated for ensembles according to KPP points and weights. The utility score for technical performance points can be determined according to the following formula:

U score=100%*(Sum of the products of subcategory weights by assigned subcategory integer points−L)/(H−L).

However, this formulation of a utility score is by no means the sole methodology available to calculate a U score and other methods are therefore possible.

In order to calculate a utility score for each ensemble cost, a LUB is assigned. This number is at least as great (but can be absolutely greater) than all of the calculated minimum costs associated with each ensemble. Likewise, a GLB is assigned which is at most (but can be absolutely) less than all of the calculated minimum costs associated with each ensemble. In Table 1, $20,000 is shown as the LUB (H) while $6,000 is shown as the GLB (L). A utility score for the cost ensembles is calculated as follows:

U Score=100%*(H−TOC_(m))/(H−L). As with the previously discussed U score, a U score for cost can be calculated according to other methods. TOC, a subscripted value, stands for total opportunity cost. TOC may be defined as costs representative of total costs, including fixed, variable and supportability costs, or a significant portion thereof. Supportability costs include operations and support costs which are maintenance and operations related costs incurred for an input over the life cycle of the input in a system using the input.

The utility score for management (schedule, risk) points is determined by assigning a point total, between an LUB and GLB for each management point subcategory within an ensemble. As before, the LUB and GLB are subjective determinations appropriate to the problem at hand. Subcategory weights are multiplied by there respective points assigned to a particular ensemble. A weighted total is achieved for each ensemble and the utility score is calculated as follows:

U Score=100%*(subcategory weighted total points−L)/(H−L). Once again, other methods can be used to calculate a utility score base on management points.

The utility scores are summed in proportion to their major criteria weight values, resulting in a value referred hereinafter as a Figure of Merit (FOM). Other calculations of FOM are possible as determined by other formulations, for example, integer score spread between 0 and 10 is convenient, but is not required (perhaps 0 to 5 is more appropriate for a particular problem). Among the FOM values, the highest such value is indicative of the optimum ensemble choice. Among the three ensembles shown with values in Table 1, ensemble k at 80.64% is the optimal ensemble choice to provide the calculated inputs x₁, . . . x_(n).

FIG. 2 illustrates a flowchart which summarizes the foregoing methodology discussed herein.

FIG. 3 illustrates a diagram of a system capable of implementing the above selection method. Ensembles composed of inputs according to a single supplier or multiple supplies are provided in electronic file 3. Computer 5 which can be a server, laptop computer, desktop computer, etc. is programmed to find and minimize the Lagrangian formulas associated with each ensemble. Computer 5 is also programmed to calculate the appropriate major criteria and sub-criteria weights and provide U scores culminating in a FOM in accordance with Table 1. This information is saved and output to file 7 which contains information of the type found in Table 1 along with a selected optimized ensemble choice.

TABLE 1 Sample Utility Table Template for Calculation of FOM Major Sub Major Criteria Criteria Criteria Weight Weight LUB = H GLB = L Ensemble 1 Ensemble 2 . . . Ensemble k Tech 35% 10 2 Performance Points (KPP) KPP 1 20% 8 5 7 KPP 2 15% 10 7 8 KPP 3 40% 9 3 10 KPP 4 25% 7 8 6 Weighted 100% 8.45 5.25 8.10 Total U score 100%  0%   81%   41%   76% Ensemble_(m) 35% $20,000 $6,000 $9,700 $8,900 $8,020 Total Cost Pts. (TOC_(m)) U score  0% 100%   74%   79%   86% Management 30% 10 3 (Schedule, Risk) Points Subcategory 1 10% 8 5 9 Subcategory 2 15% 8 7 8 Subcategory 3 50% 9 9 10 Subcategory 4 25% 7 4 6 Weighted 100% 8.25 7.05 8.60 Total U Score 100%  0%   75%   58%   80% Total 100% FOM 76.47% 59.33% 80.64%

The foregoing has all manner of applications including that of providing a methodology for determining suppliers and minimizing costs given a variety of constraints in connection with submission of government contract bids, particularly in the area of Department of Defense (DOD) procurement. Specifically, the methodology can optimize selections from among commercial off the shelf (COTS) components/goods/supplies and Government off the shelf (GOTS) components/goods/supplies, defined herein as non-developmental items (NDI). Further, the methodology can be applied to situations where Government Participating Acquisition Resource Managers (PARMS) are the primary sources of NDIs for purchase. Moreover, the methodology set forth has applicability to commercial production problems concerning the purchase of acceptable components/goods/supplies at the lowest cost within a number of constraints.

Although the invention herein has been described with reference to particular embodiments, it is to be understood that these embodiments are merely illustrative of the principles and applications of the present invention. It is therefore to be understood that numerous modifications may be made to the illustrative embodiments and that other arrangements may be devised without departing from the spirit and scope of the present invention as defined by the appended claims. 

1. A computer programmed to execute instructions for optimizing a selection process comprising: determining product requirements according to a production function; composing a plurality of ensembles comprising products of inputs with product prices for calculation of costs; determining a Lagrangian function for each ensemble from said plurality of ensembles; minimizing each said Lagrangian function subject to constraints of said supply function and solving for values of inputs for each ensemble; computing a utility score for ensembles based on solved values of inputs; weighting ensembles according to a first set of criteria; computing a utility score for ensembles weighted according to the first set of criteria; weighting each utility score according to predefined values; calculating the sum of weighted utility scores associated with a particular ensemble; and selecting an ensemble according to the highest weighted utility score sum.
 2. A computer programmed to execute instructions for optimizing a selection process as recited in claim 1 further comprising: weighting ensembles according to a second set of criteria; computing a utility score for ensembles weighted according to said second set of criteria;
 3. A computer programmed to execute instructions as recited in claim 1 wherein said inputs are selected from a group consisting of components, goods, supplies or a combination thereof.
 4. A computer programmed to execute instructions as recited in claim 1 wherein said first set of criteria concerns technical performance factors relating to said inputs.
 5. A computer programmed to execute instructions as recited in claim 4 wherein said technical performance factors consist of performance considerations of an input provided by a particular supplier of said input, input quality, input features and combinations thereof.
 6. A computer programmed to execute instructions as recited in claim 2 wherein said second set of criteria concerns management factors relating to said inputs.
 7. A computer programmed to execute instructions as recited in claim 6 wherein said management factors are selected from the group consisting of supplier reliability, second source availability, service options and a combination thereof.
 8. A computer programmed to execute instructions as recited in claim 1 wherein each said ensemble includes inputs provided only from a sole supplier.
 9. A computer programmed to execute instructions as recited in claim 1 wherein each said ensemble includes inputs provided from multiple suppliers.
 10. A computer programmed to execute instructions as recited in claim 1 wherein said predefined values are subjectively determined.
 11. A computer-implemented method for selecting an optimized set of costs comprising: determining product requirements according to a production function of inputs; composing a plurality of ensembles comprising products of inputs with product prices for calculation of costs; determining fixed costs associated with each ensemble and adding said fixed costs to associated ensembles; determining a Lagrangian function for each ensemble from said plurality of ensembles; minimizing each said Lagrangian function and solving for values of inputs for each ensemble subject to said production function; computing a utility score for ensembles based on solved values of inputs; weighting ensembles according to a first set of criteria; computing a utility score for ensembles weighted according to the first set of criteria; weighting ensembles to according to a second set of criteria; computing a utility score for ensembles weighted according to said second set of criteria; weighting each utility score according to predefined values; calculating the sum of weighted utility scores associated with a particular ensemble and; selecting an ensemble according to the highest weighted utility score sum.
 12. A computer-implemented method for selecting an optimized set of costs as recited in claim 11 wherein said utility score for ensembles based on solved values of inputs is computed by subtracting a minimum cost calculated for each ensemble from an upper bound for all ensembles and divided by the difference of the upper bound and a lower bound for all ensembles.
 13. A computer-implemented method for selecting an optimized set of costs as recited in claim 11 wherein said utility score for ensembles weighted according to the first set of criteria is computed by: assigning an integer score to each criterion from the first set of criteria between an upper bound integer score and a lower bound integer score; forming a sum of products of each criterion integer score and respective criterion weights; subtracting the lower bound integer score from the sum of products to form a numerator; and dividing the numerator by the difference of the upper bound integer score and the lower bound integer score.
 14. A computer-implemented method for selecting an optimized set of costs as recited in claim 11 wherein said utility score fore ensembles weighted according to said second set of criteria is computed by assigned an integer score to each criterion from the second set of criteria between an upper bound integer score and a lower bound integer score; forming a sum of products of each criterion integer score and respective criterion weights; subtracting the lower bound integer score from the sum of products to form a numerator; and dividing the numerator by the difference of the upper bound integer score and the lower bound integer score.
 15. A computer implemented method as recited in claim 14 wherein all said integer scores are subjectively determined.
 16. A computer-implemented method as recited in claim 14 wherein all said integer scores are subjectively determined.
 17. A computer-implement method as recited in claim 13 wherein said first set of criteria concerns technical performance factors associated with an input.
 18. A computer-implemented method as recited in claim 14 wherein said second set of criteria concerns management factors associated with an input.
 19. A computer-implemented method as recited in claim 17 wherein said technical performance factors consist of performance considerations of an input provided by a particular supplier of said input, input quality, input features and combinations thereof.
 20. A computer-implemented method as recited in claim 18 wherein said management factors are selected from the group consisting of supplier reliability, second source availability, service options and a combination thereof. 